using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Motivos_Auditoria : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
    }
    public void buscarTodos() {
        SqlConnection conexion = null;
        string pagina = ddlPaginas.SelectedValue;
        if (pagina == "Todos")
        {
            try
            {
                conexion = Conexion.CrearConexion();
                IDbCommand comando = Conexion.CrearComando(conexion);
                comando.CommandText = "SELECT * FROM Auditoria";
                IDataReader resultados = comando.ExecuteReader();
                gvResultado.DataSource = resultados;

                gvResultado.DataBind();

            }
            finally
            {
                conexion.Dispose();
            }


        }
        else
        {
            try
            {
                conexion = Conexion.CrearConexion();
                IDbCommand comando = Conexion.CrearComando(conexion);
                comando.CommandText = "SELECT * FROM Auditoria where (pagina=@pagina)";
                comando.Parameters.Add(Conexion.CrearParametro("@pagina", pagina));
                IDataReader resultados = comando.ExecuteReader();
                gvResultado.DataSource = resultados;

                gvResultado.DataBind();

            }
            finally
            {
                conexion.Dispose();
            }
        }
    }
    protected void imgbtnBuscar_Click(object sender, ImageClickEventArgs e)
    {
        //si los campos de fecha estan vacios traera todos los registros.
        DateTime fechaInicial= DateTime.Now;
        DateTime fechaFinal = DateTime.Now;
        

       /* if (string.IsNullOrEmpty(tb_fechaInicio.Text) && !Validar.validarFecha(tb_fechaInicio.Text))
        {
            lb_fechaInicialError.Visible = true; return;
        }
        else { fechaInicial = DateTime.Parse(tb_fechaInicio.Text.ToString()); }
        if (string.IsNullOrEmpty(tb_fechaFinal.Text) &&  !Validar.validarFecha(tb_fechaFinal.Text))
        {
            lb_fechaFinalError.Visible = true; return;
        }
        else { fechaFinal = DateTime.Parse(tb_fechaFinal.Text.ToString()); }
        */

        if (string.IsNullOrEmpty(tb_fechaInicio.Text) || string.IsNullOrEmpty(tb_fechaFinal.Text)) { buscarTodos(); return; }



        //if (fechaInicial > fechaFinal) { lb_invalido.Visible=true; return; }

        //DateTime fechaFinal;
        //string usuario = ;
        
        int existe = 0;
        SqlConnection conexion = null;
        string pagina = ddlPaginas.SelectedValue;
        try
        {
            conexion = Conexion.CrearConexion();
            IDbCommand comando = Conexion.CrearComando(conexion);
            comando.CommandText = " select * FROM Auditoria WHERE (pagina = @pagina) AND (fechaEvento BETWEEN  (@fechaInicial)AND(@fechaFinal))";
            comando.Parameters.Add(Conexion.CrearParametro("@pagina", pagina));
            comando.Parameters.Add(Conexion.CrearParametro("@fechaInicial", fechaInicial));
            comando.Parameters.Add(Conexion.CrearParametro("@fechaFinal", fechaFinal));
            IDataReader resultado = comando.ExecuteReader();
            while (resultado.Read())
            {
                gvResultado.DataSource = resultado;
                gvResultado.DataBind();
                existe = 1;                
            }
            if (existe == 0)
            {
                mpeResultado.Show();
            }
            lb_invalido.Visible = false;
        }
        finally
        {
            conexion.Dispose();
        }
        
       
    }
    protected void imgbtnCancelar_Click(object sender, ImageClickEventArgs e)
    {
        tb_fechaFinal.Text = "";
        tb_fechaInicio.Text = "";        
    }
    protected void tb_fechaInicio_TextChanged(object sender, EventArgs e)
    {

    }
}
